63 research outputs found

    Towards a Step Semantics for Story-Driven Modelling

    Full text link
    Graph Transformation (GraTra) provides a formal, declarative means of specifying model transformation. In practice, GraTra rule applications are often programmed via an additional language with which the order of rule applications can be suitably controlled. Story-Driven Modelling (SDM) is a dialect of programmed GraTra, originally developed as part of the Fujaba CASE tool suite. Using an intuitive, UML-inspired visual syntax, SDM provides usual imperative control flow constructs such as sequences, conditionals and loops that are fairly simple, but whose interaction with individual GraTra rules is nonetheless non-trivial. In this paper, we present the first results of our ongoing work towards providing a formal step semantics for SDM, which focuses on the execution of an SDM specification.Comment: In Proceedings GaM 2016, arXiv:1612.0105

    Complex Attribute Manipulation in TGGs with Constraint-Based Programming Techniques

    Get PDF
    Model transformation plays a central role in Model-Driven Engineering (MDE) and providing bidirectional transformation languages is a current challenge with important applications.  Triple Graph Grammars (TGGs) are a formally founded,  bidirectional model transformation language shown by numerous case studies to be quite promising and successful.  Although TGGs provide adequate support for structural aspects via object  patterns in TGG rules, support for handling complex relationships between different attributes is still missing in current implementations.  For certain applications, such as bidirectional model-to-text transformations, being able to manipulate attributes via string manipulation or arithmetic operations in TGG rules is vital.  Our contribution in this paper is to formalize a TGG extension that provides a means for complex attribute manipulation in TGG rules.  Our extension is compatible with the existing TGG formalization, and retains the "single specification'' philosophy of TGGs

    What do Users Expect of Bidirectional Transformations?

    Get PDF
    A bidirectional transformation (bx) is a means of maintaining the consistency of two or more related sources of information. Existing bx frameworks attempt to capture what it means for a bx to be well-behaved by proposing various laws. In many cases, however, it is still unclear if such laws really capture "desirable" behaviour from a user\u27s perspective. We argue that knowing most users\u27 expectations is not only useful as input for designing, extending, and improving existing bx frameworks and tools, but also when attempting to choose the most suitable bx tool for a specific application scenario and group of users. In addition, being aware of intuitive expectations that cannot be fulfilled by a chosen bx tool (perhaps for good reasons!) is equally important; when designing and implementing consistency maintainers, such mismatches between users\u27 expectations and tool characteristics should be made explicit and discussed with all stakeholders. In this paper, we designed and performed an experiment asking 65 computer science students to answer questions regarding the expected behaviour of a synchroniser. Our contribution is twofold: (i) we propose an experiment design that can be adapted and repeated for a specific group of users, and (ii) we present and discuss empirical data obtained from two runs of the experiment

    VICToRy: Visual Interactive Consistency Management in Tolerant Rule-based Systems

    Get PDF
    In the field of Model-Driven Engineering, there exist numerous tools that support various consistency management operations including model transformation, synchronisation and consistency checking. The supported operations, however, typically run completely in the background with only input and output made visible to the user. We argue that this often reduces both understandability and controllability. As a step towards improving this situation, we present VICToRy, a debugger for model generation and transformation based on Triple Graph Grammars, a well-known rule-based approach to bidirectional transformation. In addition to a fine-grained, step-by-step, interactive visualisation, VICToRy enables the user to actively explore and choose between multiple valid rule applications thus improving control and understanding.Comment: In Proceedings GCM 2020, arXiv:2012.0118

    Optimizing Model-Based Software Product Line Testing with Graph Transformations

    Get PDF
    Software Product Lines (SPLs) are increasing in relevance and importance as various domains strive to cope with the challenges of supporting a high degree of variability in modern software systems.  Especially the systematic testing of SPLs is non-trivial as a high degree of variability implies a vast number of possible products.As testing every valid product individually quickly becomes infeasible, heuristics are often used to choose a representative subset of products to be tested.  MoSo-PoLiTe (Model-Based Software Product Line Testing) is a framework for SPL testing that combines and applies combinatorial (in particular pairwise) and model-based testing to SPL feature models.  In this paper, we (1) present MoSo-PoLiTe as a novel case study for graph transformations in general and Story Driven Modelling (SDM) in particular, (2) show why we consider SDMs to be ideal for rapid prototyping optimization strategies in this context, and (3) evaluate our implemented optimizations and quantify the realized improvements for MoSo-PoLiTe

    Effects of variability in models: a family of experiments

    Get PDF
    The ever-growing need for customization creates a need to maintain software systems in many different variants. To avoid having to maintain different copies of the same model, developers of modeling languages and tools have recently started to provide implementation techniques for such variant-rich systems, notably variability mechanisms, which support implementing the differences between model variants. Available mechanisms either follow the annotative or the compositional paradigm, each of which have dedicated benefits and drawbacks. Currently, language and tool designers select the used variability mechanism often solely based on intuition. A better empirical understanding of the comprehension of variability mechanisms would help them in improving support for effective modeling. In this article, we present an empirical assessment of annotative and compositional variability mechanisms for three popular types of models. We report and discuss findings from a family of three experiments with 164 participants in total, in which we studied the impact of different variability mechanisms during model comprehension tasks. We experimented with three model types commonly found in modeling languages: class diagrams, state machine diagrams, and activity diagrams. We find that, in two out of three experiments, annotative technique lead to better developer performance. Use of the compositional mechanism correlated with impaired performance. For all three considered tasks, the annotative mechanism was preferred over the compositional one in all experiments. We present actionable recommendations concerning support of flexible, tasks-specific solutions, and the transfer of established best practices from the code domain to models

    Support for Bidirectional Model-to-Text Transformations

    Get PDF
    In recent years, model-driven approaches and processes have established themselves as pragmatic and feasible solutions with tangible advantages. Transformations play a central role in any model-driven solution and, as interest in textual modelling grows, providing concepts and tools for supporting a high-level and declarative specification of bidirectional model-to-text transformations becomes a vital area of research. Our paper identifies important areas and scenarios for model-to-text transformations that are not or only partially supported by currently existing solutions. Based on the requirements of a real-world case study, we introduce a new concept that has been inspired by a successful bidirectional model-to-model transformation approach: Triple Graph Grammars

    A Solution to the Flowgraphs Case Study using Triple Graph Grammars and eMoflon

    Full text link
    After 20 years of Triple Graph Grammars (TGGs) and numerous actively maintained implementations, there is now a need for challenging examples and success stories to show that TGGs can be used for real-world bidirectional model transformations. Our primary goal in recent years has been to increase the expressiveness of TGGs by providing a set of pragmatic features that allow a controlled fallback to programmed graph transformations and Java. Based on the Flowgraphs case study of the Transformation Tool Contest (TTC 2013), we present (i) attribute constraints used to express complex bidirectional attribute manipulation, (ii) binding expressions for specifying arbitrary context relationships, and (iii) post-processing methods as a black box extension for TGG rules. In each case, we discuss the enabled trade-off between guaranteed formal properties and expressiveness. Our solution, implemented with our metamodelling and model transformation tool eMoflon (www.emoflon.org), is available as a virtual machine hosted on Share.Comment: In Proceedings TTC 2013, arXiv:1311.753
    corecore